import axios from 'axios'
import { Message } from 'element-ui';
import APIConfig from './apiconfig'

// 创建axios
const http = axios.create({
    baseURL: 'http://157.122.54.189:9095'
})
// 自己另外封装的 axios 使用的拦截器
// 响应拦截器
http.interceptors.response.use(
    res => {
        console.log('这里拦截到正常响应状态码为200的请求');
        // 如果是状态码就报错的请求，这里无法拦截，需要添加第二个函数作为回调
        // 如果拦截了请求或者响应，记得要return
        return res
    },
    err => {
        console.log('这里拦截到状态码本身出错');
        // 这里拦截到状态码本身出错的请求
        console.dir(err);
        // 短路运算
        Message.error(err.response.data.Message || '系统出错')
    }
)

// 自己下载的axios请求的api方法封装
export const myRequest = function (apiName, data) {
    // 解构
    const { url, method } = APIConfig[apiName]
    const options = {
        method, url
    }
    // get请求方法：params
    // post请求方法：data
    if (method.toUpperCase === 'GET' && data) {
        options.params = data
    }
    if (method.toUpperCase === 'POST' && data) {
        options.data = data
    }
    return http(options)


}

export default http